package edu.gatech.cc.concolic.expression;


public interface SymbolicExpressionVisitor {

	void visit(LongConstant constant);
	void visit(LongVariable variable);
	
	void visit(IntegerConstant constant);
	void visit(IntegerVariable variable);
	
	void visit(IADD iadd);
	void visit(ISUB isub);
	void visit(IMUL imul);
	void visit(IDIV idiv);
	void visit(IINC iinc);
	void visit(IREM irem);
	
	void visit(IAND iand);
	void visit(IOR ior);
	void visit(IXOR ixor);

	void visit(ISHL ishl);
	void visit(ISHR ishr);
	void visit(IUSHR iushr);

	void visit(INEG ineg);
	
	void visit(LADD ladd);
	void visit(LSUB lsub);
	void visit(LMUL lmul);
	void visit(LDIV ldiv);
	void visit(LREM lrem);

	void visit(LAND land);
	void visit(LOR lor);
	void visit(LXOR lxor);

	void visit(LSHL lshl);
	void visit(LSHR lshr);
	void visit(LUSHR lushr);

	void visit(LCMP lcmp);
	
	void visit(LNEG lneg);
	
	void visit(I2B i2b);
	void visit(I2L i2l);
	void visit(I2C i2c);
	void visit(L2I l2i);
}
